package com.example.qxfw.dataBaseManager.nyzjk.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.example.qxfw.common.entity.ny.CropGrowdateIndexlib;
import com.example.qxfw.common.mapper.CropGrowDateIndexLibMapperXml;
import com.example.qxfw.dataBaseManager.dto.CropGrowdateIndexlibDto;
import com.example.qxfw.dataBaseManager.nyzjk.service.ZwstqkService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/************************************
 *
 * @author : HuangDeYin Jolly
 * @since : JDK 11
 * @Date : 2023/7/6  星期四   15:01
 * @description : 此类用来
 ***************************************/
@Service
public class ZwstqkServiceImpl implements ZwstqkService {

    @Autowired
    private CropGrowDateIndexLibMapperXml cropGrowDateIndexLibMapperXml;

    @Override
    public List<CropGrowdateIndexlib> selectOrderByCropName() {
        return this.cropGrowDateIndexLibMapperXml.selectList(new LambdaQueryWrapper<CropGrowdateIndexlib>()
                .orderByAsc(CropGrowdateIndexlib::getCropname));
    }

    @Override
    public List<CropGrowdateIndexlib> selectColumn(String field, String cropName) {
        return this.cropGrowDateIndexLibMapperXml.querySelect(field, cropName);
    }

    @Override
    public List<CropGrowdateIndexlib> selectQuery(final CropGrowdateIndexlib cropGrowdateIndexlib) {
        return this.cropGrowDateIndexLibMapperXml.selectList(new LambdaQueryWrapper<CropGrowdateIndexlib>()
                .eq(StringUtils.isNotBlank(cropGrowdateIndexlib.getCropname()),CropGrowdateIndexlib::getCropname,cropGrowdateIndexlib.getCropname())
                .like(StringUtils.isNotBlank(cropGrowdateIndexlib.getType()),CropGrowdateIndexlib::getType,cropGrowdateIndexlib.getType())
                .like(StringUtils.isNotBlank(cropGrowdateIndexlib.getGrowdatename()),CropGrowdateIndexlib::getGrowdatename,cropGrowdateIndexlib.getGrowdatename())
                .orderByAsc(CropGrowdateIndexlib::getCropname));
    }

    @Override
    public List<CropGrowdateIndexlib> getIndexId() {
        return this.cropGrowDateIndexLibMapperXml.selectList(null);
    }

    @Override
    public Integer saveCropGrowDateIndexLib(final CropGrowdateIndexlib cropGrowdateIndexlib) {
        return this.cropGrowDateIndexLibMapperXml.insert(cropGrowdateIndexlib);
    }

    @Override
    public Integer updateCropGrowDateIndexLib(final CropGrowdateIndexlib cropGrowdateIndexlib) {
        return this.cropGrowDateIndexLibMapperXml.updateById(cropGrowdateIndexlib);
    }

    @Override
    public Integer deleteCropGrowFateIndexLib(final String indexId) {
        return this.cropGrowDateIndexLibMapperXml.deleteById(indexId);
    }

    @Override
    public List<CropGrowdateIndexlib> selectByCropName(String cropName) {
        QueryWrapper<CropGrowdateIndexlib> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("cropname",cropName);
        return this.cropGrowDateIndexLibMapperXml.selectList(queryWrapper);
    }

    @Override
    public Integer importcropGrowdateIndexlibDto(List<CropGrowdateIndexlibDto> cropGrowdateIndexlibDtoList) {
        int count = 0;
        for (CropGrowdateIndexlibDto cropGrowdateIndexlibDto : cropGrowdateIndexlibDtoList) {
            count += this.cropGrowDateIndexLibMapperXml.insertcropGrowdateIndexlibDto(cropGrowdateIndexlibDto);
        }
        return count;
    }
}

